// SPDX-License-Identifier: GPL-2.0-only
/*
 * Copyright (c) Huawei Technologies Co., Ltd. 2023-2023. All rights reserved.
 * Author: Huawei OS Kernel Lab
 * Create: Thu Aug 15 16:14:23 2023
 */

#include <linux/init.h>
#include <linux/module.h>
#include <linux/netdevice.h>
#include <linux/skbuff.h>
#include <linux/static_key.h>
#include <trace/events/skb.h>

#ifndef CONFIG_LIBLINUX_NET_STACK
/* core/dst.c */
#include <net/dst.h>
#include <net/dst_metadata.h>
void dst_release(struct dst_entry *dst)
{
	pr_info("UNIMPL: %s\n", __func__);
}
EXPORT_SYMBOL(dst_release);

const struct dst_metrics dst_default_metrics;

/* core/util.c */
#include <linux/ratelimit.h>
#include <net/net_ratelimit.h>

DEFINE_RATELIMIT_STATE(net_ratelimit_state, 5 * HZ, 10);
/*
 * All net warning printk()s should be guarded by this function.
 */
int net_ratelimit(void)
{
	return __ratelimit(&net_ratelimit_state);
}
EXPORT_SYMBOL(net_ratelimit);

/* net/core/net-procfs.c */
int __init dev_proc_init(void)
{
	return 0;
}

/* kernel/bpf/core.c */
DEFINE_STATIC_KEY_FALSE(bpf_stats_enabled_key);
EXPORT_SYMBOL(bpf_stats_enabled_key);
#endif
